package ch.myrss.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

public class PopupPanelExample implements EntryPoint, ClickListener {

    private static class MyPopup extends PopupPanel {

	public MyPopup() {
	    // PopupPanel's constructor takes 'auto-hide' as its boolean
                // parameter.
	    // If this is set, the panel closes itself automatically when
                // the user
	    // clicks outside of it.
	    super(true);

	    // PopupPanel is a SimplePanel, so you have to set it's widget
                // property to
	    // whatever you want its contents to be.
	    setWidget(new Label("Click outside of this popup to close it"));
	}
    }

    public void onModuleLoad() {
	Button b = new Button("Click me");
	b.addClickListener(this);

	RootPanel.get().add(b);
    }

    public void onClick(Widget sender) {
	// Instantiate the popup and show it.
	new MyPopup().show();
    }
}